Specification-Driven Design with Eiffel and Agents for Teaching Lightweight Formal Methods

نویسندگان

  • Richard F. Paige
  • Jonathan S. Ostroff
چکیده

We report on our experiences in teaching lightweight formal methods with Eiffel. In particular, we discuss how we introduce formal methods via Eiffel’s design-by-contract and agent technologies, and how we integrate these techniques with test-driven development, in an approach called specification-driven design. This approach demonstrates how formal methods techniques fit with industrial software engineering practice.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

E-Tester: a Contract-Aware and Agent-Based Unit Testing Framework for Eiffel

We describe a contract-aware unit testing framework, E-Tester, for the Eiffel programming language. The framework differs from JUnit in its first-class support for lightweight formal methods, through test support for contracts and assertions. As well, it supports a form of negative test, called violation cases, which aim at validating contracts. It also differs based on its use of agents for ex...

متن کامل

BON-CASE: An Extensible CASE Tool for Formal Specification and Reasoning

We describe BON-CASE, an extensible tool for the BON modelling language. The tool’s support for formal techniques – in particular, for formal specification of contracts and frames, as a platform for verification of Eiffel code, for lightweight integration with existing reasoning tools (such as type checkers, theorem provers, and static assertion checkers), and its extensible architecture – is d...

متن کامل

Reuse-Based Programming with the Eiffel Libraries

James McKim is a professor of computer science at the Hartford Graduate Center and has more than 25 years experience teaching mathematics and computer science. He has authored, coauthored and reviewed a number of textbooks and articles in both areas. His research interests include object-oriented programming and design in general, and class interface specification in particular. He has been tea...

متن کامل

Contracting and Proving Classes with Models

Functional specification and verification often requires specialized mathematicians to do the work. Software development and proving correctness are regarded as separate activities. We want developers to do the specification and verification. One of the promising approaches for letting developers create specifications is the “Design by Contract” methodology [7] as present in the Eiffel language...

متن کامل

How Specifications Change and Why You Should Care

Contracts are a form of lightweight formal specification embedded in the program text; by combining specification and implementation, they try to make it easier for programmers to write and update the specification. Motivated by the importance of having accurate specifications over a system’s lifetime, this paper presents an extensive empirical study of 15 software projects in Eiffel and C# usi...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2004